from rest_framework import serializers
from dvadmin.utils.serializers import CustomModelSerializer
from dvadmin.utils.viewset import CustomModelViewSet
from role.models import Divider

# TimeModelSerializer: 这是一个自定义的模型序列化器类，它继承自CustomModelSerializer，这是Django REST framework中的一个抽象基类，用于定义如何将模型对象转换为Python字典。
# value字段是一个只读的字符串字段，这意味着在序列化过程中，value字段将不会从数据库中检索数据，而是直接在序列化时提供。
# 这通常用于将模型字段转换为只读的字符串，例如在视图中只提供字符串表示，而不是原始数据类型。
# Meta类是序列化器的元数据，它定义了序列化器的配置。
# 在这个例子中，fields设置为__all__，这意味着序列化器将包含模型中的所有字段。
class DividerModelSerializer(CustomModelSerializer):
    value = serializers.CharField(read_only=True)

    class Meta:
        model = Divider
        fields = "__all__"

# TimeModelViewSet: 这是一个自定义的模型视图集类，它继承自CustomModelViewSet，
# 这是Django REST framework中的一个抽象基类，
# 用于定义与模型交互的CRUD（创建、读取、更新、删除）操作。
# queryset属性定义了视图集将操作的模型实例集。 在这个例子中，它设置为Time.objects.all()，这意味着视图集将操作数据库中所有的Time模型实例。
# serializer_class属性定义了视图集将使用的序列化器类。在这个例子中，它设置为TimeModelSerializer，这意味着视图集将使用TimeModelSerializer来进行数据的序列化和反序列化。
class DividerModelViewSet(CustomModelViewSet):
    queryset = Divider.objects.all()
    serializer_class = DividerModelSerializer